home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Aztec C v5.2a disk 4.adf / 204inc_i.lzh / intuition / imageclass.i < prev    next >
Text File  |  1991-03-14  |  5KB  |  175 lines

  1.     IFND INTUITION_IMAGECLASS_I
  2. INTUITION_IMAGECLASS_I SET 1
  3. **
  4. **  $Filename: intuition/imageclass.i $
  5. **  $Release: 2.04 $
  6. **  $Revision: 36.3 $
  7. **  $Date: 91/02/05 $
  8. **
  9. **  Definitions for the image classes
  10. **
  11. **  (C) Copyright 1985,1986,1987,1988,1989,1990 Commodore-Amiga, Inc.
  12. **        All Rights Reserved
  13. **
  14.  
  15.     IFND UTILITY_TAGITEM_I
  16.     INCLUDE "utility/tagitem.i"
  17.     ENDC
  18.  
  19. *
  20. * NOTE:  intuition/iobsolete.i is included at the END of this file!
  21. *
  22.  
  23. CUSTOMIMAGEDEPTH    EQU (-1)
  24. * if image.Depth is this, it's a new Image class object
  25.  
  26. ******************************************************
  27. IMAGE_ATTRIBUTES    EQU (TAG_USER+$20000)
  28.  
  29. IA_Left        EQU (IMAGE_ATTRIBUTES+$0001)
  30. IA_Top        EQU (IMAGE_ATTRIBUTES+$0002)
  31. IA_Width    EQU (IMAGE_ATTRIBUTES+$0003)
  32. IA_Height    EQU (IMAGE_ATTRIBUTES+$0004)
  33. IA_FGPen    EQU (IMAGE_ATTRIBUTES+$0005)
  34.             ; IA_FGPen also means "PlanePick"
  35. IA_BGPen    EQU (IMAGE_ATTRIBUTES+$0006)
  36.             ; IA_BGPen also means "PlaneOnOff"
  37. IA_Data        EQU (IMAGE_ATTRIBUTES+$0007)
  38.             ; bitplanes, for classic image,
  39.             ; other image classes may use it for other things
  40. IA_LineWidth    EQU (IMAGE_ATTRIBUTES+$0008)
  41. IA_Pens        EQU (IMAGE_ATTRIBUTES+$000E)
  42.             ; pointer to UWORD pens[],
  43.             ; ala DrawInfo.Pens, MUST be
  44.             ; terminated by ~0.  Some classes can
  45.             ; choose to have this, or SYSIA_DrawInfo,
  46.             ; or both.
  47. IA_Resolution    EQU (IMAGE_ATTRIBUTES+$000F)
  48.             ; packed uwords for x/y resolution into a longword
  49.             ; ala DrawInfo.Resolution
  50.  
  51. * see class documentation to learn which 
  52. * classes recognize these
  53. IA_APattern    EQU (IMAGE_ATTRIBUTES+$0010)
  54. IA_APatSize    EQU (IMAGE_ATTRIBUTES+$0011)
  55. IA_Mode        EQU (IMAGE_ATTRIBUTES+$0012)
  56. IA_Font        EQU (IMAGE_ATTRIBUTES+$0013)
  57. IA_Outline    EQU (IMAGE_ATTRIBUTES+$0014)
  58. IA_Recessed    EQU (IMAGE_ATTRIBUTES+$0015)
  59. IA_DoubleEmboss    EQU (IMAGE_ATTRIBUTES+$0016)
  60. IA_EdgesOnly    EQU (IMAGE_ATTRIBUTES+$0017)
  61.  
  62. * "sysiclass" attributes
  63. SYSIA_Size    EQU (IMAGE_ATTRIBUTES+$000B)
  64.             ; EQU's below
  65. SYSIA_Depth    EQU (IMAGE_ATTRIBUTES+$000C)
  66.             ; this is unused by Intuition.  SYSIA_DrawInfo
  67.             ; is used instead for V36
  68. SYSIA_Which    EQU (IMAGE_ATTRIBUTES+$000D)
  69.             ; see EQU's below
  70. SYSIA_DrawInfo    EQU (IMAGE_ATTRIBUTES+$0018)
  71.             ; pass to sysiclass, please
  72.  
  73. *  obsolete: don't use these, use IA_Pens
  74. SYSIA_Pens    EQU IA_Pens
  75. IA_ShadowPen    EQU (IMAGE_ATTRIBUTES+$0009)
  76. IA_HighlightPen    EQU (IMAGE_ATTRIBUTES+$000A)
  77.  
  78. * next attribute: (IMAGE_ATTRIBUTES+$0019)
  79. ******************************************************
  80.  
  81. * data values for SYSIA_Size
  82. SYSISIZE_MEDRES    EQU (0)
  83. SYSISIZE_LOWRES    EQU (1)
  84. SYSISIZE_HIRES    EQU (2)
  85.  
  86. *
  87. * SYSIA_Which tag data values:
  88. * Specifies which system gadget you want an image for.
  89. * Some numbers correspond to internal Intuition #defines
  90. DEPTHIMAGE    EQU ($00)
  91. ZOOMIMAGE    EQU ($01)
  92. SIZEIMAGE    EQU ($02)
  93. CLOSEIMAGE    EQU ($03)
  94. SDEPTHIMAGE    EQU ($05)        ; screen depth gadget
  95. LEFTIMAGE    EQU ($0A)
  96. UPIMAGE        EQU ($0B)
  97. RIGHTIMAGE    EQU ($0C)
  98. DOWNIMAGE    EQU ($0D)
  99. CHECKIMAGE    EQU ($0E)
  100. MXIMAGE        EQU ($0F)    ; mutual exclude "button"
  101.  
  102. * image message id's
  103. IM_DRAW        EQU ($0202)    ; draw yourself, with "state"
  104. IM_HITTEST    EQU ($0203)    ; return TRUE if click hits image
  105. IM_ERASE    EQU ($0204)    ; erase yourself
  106. IM_MOVE        EQU ($0205)    ; draw new and erase old, smoothly
  107.  
  108. IM_DRAWFRAME    EQU ($0206)    ; draw with specified dimensions
  109. IM_FRAMEBOX    EQU ($0207)    ; get recommended frame around some box
  110. IM_HITFRAME    EQU ($0208)    ; hittest with dimensions
  111. IM_ERASEFRAME    EQU ($0209)    ; hittest with dimensions
  112.  
  113. * image draw states or styles, for IM_DRAW
  114. IDS_NORMAL        EQU (0)
  115. IDS_SELECTED        EQU (1)    ; for selected gadgets
  116. IDS_DISABLED        EQU (2)    ; for disabled gadgets
  117. IDS_BUSY        EQU (3)    ; for future functionality
  118. IDS_INDETERMINATE    EQU (4)    ; for future functionality
  119. IDS_INACTIVENORMAL    EQU (5)    ; normal, in inactive window border
  120. IDS_INACTIVESELECTED    EQU (6)    ; selected, in inactive border
  121. IDS_INACTIVEDISABLED    EQU (7)    ; disabled, in inactive border
  122.  
  123. * oops, please forgive spelling error by jimm
  124. IDS_INDETERMINANT EQU IDS_INDETERMINATE
  125.  
  126. * IM_FRAMEBOX
  127.  STRUCTURE impFrameBox,4        ; starts with ULONG MethodID
  128.     APTR    impf_ContentsBox    ; input: relative box of contents
  129.     APTR    impf_FrameBox    ; output: rel. box of encl frame
  130.     APTR    impf_DrInfo
  131.     LONG    impf_FrameFlags
  132.  
  133. ; Make do with the dimensions of FrameBox provided.
  134. FRAMEB_SPECIFY    EQU (0)
  135. FRAMEF_SPECIFY    EQU (1)
  136.  
  137.  
  138. * IM_DRAW, IM_DRAWFRAME
  139.  STRUCTURE impDraw,4        ; starts with ULONG MethodID
  140.     APTR    impd_RPort
  141.     WORD    impd_OffsetX
  142.     WORD    impd_OffsetY
  143.     ULONG    impd_State
  144.     APTR    impd_DrInfo
  145.     ; these parameters only valid for IM_DRAWFRAME
  146.     WORD    impd_DimensionsWidth
  147.     WORD    impd_DimensionsHeight
  148.  
  149. * IM_ERASE, IM_ERASEFRAME
  150. * NOTE: This is a subset of impDraw
  151.  STRUCTURE impErase,4        ; starts with ULONG MethodID
  152.     APTR    impe_RPort
  153.     WORD    impe_OffsetX
  154.     WORD    impe_OffsetY
  155.     ; these parameters only valid for IM_ERASEFRAME
  156.     WORD    impe_DimensionsWidth
  157.     WORD    impe_DimensionsHeight
  158.  
  159. * IM_HITTEST, IM_HITFRAME
  160.  STRUCTURE impHitTest,4        ; starts with ULONG MethodID
  161.     ; these parameters only valid for IM_ERASEFRAME
  162.     WORD    imph_PointX
  163.     WORD    imph_PointY
  164.     ; these parameters only valid for IM_HITFRAME
  165.     WORD    imph_DimensionsWidth
  166.     WORD    imph_DimensionsHeight
  167.  
  168.  
  169. * Include obsolete identifiers:
  170.     IFND    INTUITION_IOBSOLETE_I
  171.     INCLUDE "intuition/iobsolete.i"
  172.     ENDC
  173.  
  174.     ENDC
  175.